The present invention relates generally to storage of electronic data. More specifically, the present invention relates to a system and method for storing workgroup objects on a file-system based data store in a workgroup server.
In recent years workgroup systems have rapidly emerged as indispensable tools for providing integrated information exchange facilities to individuals in business enterprises. Workgroup systems provide such facilities as e-mail messaging, individual and group calendaring, files and folder sharing, scheduling tasks and so forth.
Workgroup systems are generally implemented in client-server architecture. A workgroup server stores multiple workgroup objects in a storage device. The workgroup object may be defined as an entity representing one of an e-mail message, an individual calendar, a group calendar, a shared file, a shared folder, a user-scheduled task, an address book, an electronic form, and the like. A workgroup client runs a workgroup client software application and accesses the workgroup server to retrieve one or more workgroup objects. The workgroup servers known in the prior art use a variety of underlying storage mechanisms such as relational databases, proprietary object databases, data type specific storage structures, file-system based storage and so forth. The end-users are always dependent on the provider of such proprietary databases for any utilities that are associated with workgroup server.
The file-system based storage scheme offer several advantages over other storage mechanisms. It facilitates the administration of the workgroup server by providing such features as live back-up of data, clustering, journaling, caching, and so forth.
However, the file-system based storage scheme does not provide a built-in facility for sorting and searching the workgroup objects. In addition, the file-system based storage scheme necessitates creation of a large number of files. Moreover, there is a dependence on the file-system implementation for managing the large number of files.
More importantly, in a workgroup server subjected to concurrent access by multiple users, efficient memory management is a key requirement. Another challenge involved in implementing the file-system based storage scheme is to ensure the integrity of the workgroup objects. Moreover, there is a need to provide the end-users flexibility with respect to the tools and utilities that are available to be used in conjunction with a workgroup server.
In light of the foregoing discussion, there is a need to address the challenges involved in implementing a file-system based data store for a workgroup server.